#ifndef BOT_H_
#define BOT_H_
#include "State.h"
#include "MapKnowledge.hh"
#include <sys/resource.h>
#include <sys/time.h>
#include "Planif.hh"
#include "Strategy.hh"
#include "Simulator.hh"

/*
    This struct represents your bot in the game of Ants
*/
struct Bot
{
  // Memory usage info
  rusage meminfo;
  // Store informations about invisible cells
  cache_state_info_t memory;
  // potential map
  Strategy strategy;
  /// Ze Simulatorz
  Simulator mc;


  
 
  

  Bot();
  
  void playGame();    //plays a single game of Ants

  bool move_ant_if_possible(Map<double> & xreward, uLocation & from);
  void move_ants_according_to_reward(Map<double> & xreward);
  
  void move_ant(uLocation & loc);
  void makeMoves();   //makes moves for a single turn
  void endTurn();     //indicates to the engine that it has made its moves
  
};

#endif //BOT_H_
